﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using TheBullysStore.Models;
using System.Json;
using log4net;
using TheBullysStore.Models.ModuloVentas.Venta;
using TheBullysStore.Models.ModuloVentas;
//using TheBullysStore.Models.ModuloVentas.Propiedad;
namespace TheBullysStore.Controllers.ModuloVenta
{
    public class VentaController : Controller
    {
        private TheBullysStoreDB db = new TheBullysStoreDB();
        VentaFacade ventaFacade = new VentaFacade();
        VentaBean VentaBean = new VentaBean();
        ReporteVenta ventaReporte = new ReporteVenta();
        public ActionResult Index()
        {
            return View();
        }
        public ActionResult Venta()
        {
            return View();
        }
        public ActionResult RegistrarVenta()
        {
            return View();
        }
        public ActionResult BuscarVenta()
        {
            return View();
        }
        public ActionResult RegistrarPropiedadEnVenta()
        {
            return View();
        }
        public ActionResult ReporteGeneralVenta()
        {
            return View();
        }

        public ActionResult ReporteGeneralVentaImprimir()
        {
            return View();
        }

        [HttpPost]
        public JsonResult registrarConsulta(VentaBean venta)
        {
            ventaFacade.ventaService.ventaDAO.registrarVenta(venta);
            return null;
        }
        [HttpPost]
        public JsonResult buscarClienteR(string nombre, string apellido)
        {
            List<BusquedaCliente> listaConsulta = ventaFacade.ListarClienteR(nombre, apellido);
            return Json(new { listaConsulta });
        }
        [HttpPost]
        public JsonResult buscarPropiedadR(BusquedaPropiedad propiedad)
        {
            System.Diagnostics.Debug.WriteLine("direccion(CONTROLLER):" + propiedad.ToString());
            List<BusquedaPropiedad> listaConsulta = ventaFacade.ListarPropiedadR(propiedad);
            return Json(new { listaConsulta });
        }
        [HttpPost]
        public JsonResult buscarVendedorR(string nombre, string apellido)
        {
            List<TheBullysStore.Models.ModuloVentas.Venta.BusquedaVendedor> listaConsulta = ventaFacade.ListarVendedorR(nombre, apellido);
            return Json(new { listaConsulta });
        }  
        [HttpPost]
        public JsonResult buscarVenta(VentaBean venta)
        {
            List<VentaBean> listaVenta = ventaFacade.ListarVenta(venta);
            return Json(new { listaVenta });
        }
        [HttpPost]
        public JsonResult generarReporteVenta(ReporteVenta venta)
        {
            List<ReporteVenta> listaVenta = ventaFacade.generarReporteVenta(venta);
            return Json(new { listaVenta });
        }
        [HttpPost]
        public JsonResult buscarVentaVendedor(BusquedaVendedor venta)
        {
            List<BusquedaVendedor> listaVenta = ventaFacade.ListarVentaVendedor(venta);
            return Json(new { listaVenta });
        }
        [HttpPost]
        public JsonResult modificarVenta(VentaBean venta)
        {
            List<VentaBean> listaVenta = ventaFacade.ListarVentaMod(venta);
            return Json(new { listaVenta = listaVenta });
        }
        [HttpPost]
        public JsonResult eliminarVenta(VentaBean venta)
        {
            string conexion = ventaFacade.EliminarVenta(venta);

            if (conexion == "Bien")
            {
                return Json(new { me = "Se eliminó correctamente " + venta.IdPropiedad });
            }
            else
            {
                return Json(new { me = conexion });
            }
        }

    }
}
